package gestioneDatabase.Post;

import models.Post;

import org.w3c.dom.Element;

/**
 * Classe di supporto al metodo execute di {@link AllPostsRetriever} per
 * facilitarne la comprensione.
 * 
 */
public class AllPostsRetrieverFiller {
	/**
	 * Metodo che produce il singolo post, completo di autore, id,titolo,
	 * contenuto e tutte le risposte allegate al post stesso.
	 * 
	 * @param eElement
	 *            L'oggetto {@link Element} che sara' usato per creare il Post.
	 * @return Il post riempito.
	 */
	public Post fill(Element eElement) {

		int id = Integer.parseInt(eElement.getAttribute("id"));
		String author = eElement.getElementsByTagName("author").item(0)
				.getTextContent();
		String title = eElement.getElementsByTagName("title").item(0)
				.getTextContent();
		String content = eElement.getElementsByTagName("content").item(0)
				.getTextContent();
		String style = eElement.getElementsByTagName("style").item(0)
				.getTextContent();
		int nResponse = Integer.parseInt(eElement
				.getElementsByTagName("ResponseNumber").item(0)
				.getTextContent());

		Post post = PostsManager.getManager().fillSinglePost(id, author, title,
				content, style);

		for (int i = 0; i < nResponse; i++) {
			String authorRes = eElement.getElementsByTagName("authorRes" + i)
					.item(0).getTextContent();
			String contentRes = eElement.getElementsByTagName("contentRes" + i)
					.item(0).getTextContent();
			Post response = ResponsesManager.getManager().fillSingleResponse(
					authorRes, contentRes);
			post.addResponse(response);
		}
		return post;
	}

}
